/**
 * @param {number[]} digits
 * @return {number[]}
 */
var plusOne = function(digits) {
  // 记录从数组尾端开始出现了几次9
  let count = 0;
  const len = digits.length;
  for (let i = len - 1; i >= 0; i--) {// 从数组尾端向前循环
    if (digits[i] !== 9) {
      // 如果当前数不为9，将当前位置数字加1，并且跳出循环
      ++digits[i];
      break;
    } else {
      // 如果当前数等于9，将当前位置的数字设置为0，并且记录一次9出现的次数
      digits[i] = 0;
      count++;
    }
  }
  if (count == len) {
    // 如果计数值等于给定数组的长度，意味着当前数组所有值都为0，此时向数组末尾添加一位0，并且将数组首位设置为1
    digits.push(0);
    digits[0] = 1;
  }
  return digits;
};